﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using Pibby.Core.Models;

//namespace Pibby.Core.Tests.Stubs
//{
//    public class PodcatcherModel : IPodcatcherModel
//    {
//        public PodcatcherModel()
//        {
//            this.Settings = new ApplicationSettings();
//        }
		
//        public event EventHandler SettingsLoaded;

//        public event EventHandler SettingsChanged;

//        public IApplicationSettings Settings { get; private set; }

//        public void LoadSettings(System.IO.TextReader reader)
//        {
//            if (SettingsLoaded != null)
//                SettingsLoaded(this, EventArgs.Empty);
//        }

//        public PodcastCollection LoadSubscriptions()
//        {
//            return null;
//        }

//        public EpisodeCollection LoadEpisodes()
//        {
//            return null;
//        }

//        public void SaveSettings(System.IO.TextWriter writer)
//        {
//        }

//        public void ImportSubscriptions(FilePersistenceEventArgs e)
//        {
//        }

//        public void ExportSubscriptions(FilePersistenceEventArgs e)
//        {
//        }

//        public Persistence.IPodcastRepository Repository
//        {
//            get { throw new NotImplementedException(); }
//        }

//        public void AddPodcast(Podcast newPodcast)
//        {
//        }

//        public void RemovePodcast(Podcast existingPodcast)
//        {
//        }

//        public void UpdateFeed(string guid, EpisodeCollection backCatalog)
//        {
//        }

//        public event EventHandler<PortableDeviceEventArgs> PortableMediaArrived;

//        public event EventHandler<PortableDeviceEventArgs> PortableMediaRemoved;

//        public IO.PortableMediaDevice PortableMedia
//        {
//            get { throw new NotImplementedException(); }
//        }

//        public void CheckPortableMediaStatus()
//        {
//            throw new NotImplementedException();
//        }

//        public void CheckPortableMediaArrived(IO.RemovableDriveEventArgs e)
//        {
//            throw new NotImplementedException();
//        }

//        public void CheckPortableMediaRemoved(IO.RemovableDriveEventArgs e)
//        {
//            throw new NotImplementedException();
//        }

//        private class ApplicationSettings : IApplicationSettings
//        {
//            public ApplicationSettings()
//            {
//                this.MainWindow = new MainWindowSettings();
//                this.MediaPlayer = new PortableMedia.MediaPlayerSettings();
//            }

//            public string DownloadFolder { get; set; }

//            public bool StartMinimized { get; set; }

//            public MainWindowSettings MainWindow { get; private set; }

//            public Web.NetworkAuthentication Network { get; set; }

//            public PortableMedia.MediaPlayerSettings MediaPlayer { get; set; }

//            public string RepositoryPath { get; set; }

//            public bool RefreshAtStartup { get; set; }

//            public bool ShowTooltips { get; set; }

//            public int TooltipTimeout { get; set; }

//            public void Save(System.IO.TextWriter writer)
//            {
//            }


//            public string Path
//            {
//                get
//                {
//                    throw new NotImplementedException();
//                }
//                set
//                {
//                    throw new NotImplementedException();
//                }
//            }


//            public PollingSettings Polling
//            {
//                get
//                {
//                    throw new NotImplementedException();
//                }
//                set
//                {
//                    throw new NotImplementedException();
//                }
//            }
//        }


//        public DownloadableCollection DownloadableFeeds
//        {
//            get { throw new NotImplementedException(); }
//        }


//        public void UpdateFeed(string guid, string content)
//        {
//            throw new NotImplementedException();
//        }


//        public Podcast LoadSubscription(string guid)
//        {
//            throw new NotImplementedException();
//        }

//        public EpisodeCollection LoadEpisodes(Podcast podcast)
//        {
//            throw new NotImplementedException();
//        }


//        public void ImportSubscriptions(System.IO.TextReader reader)
//        {
//            throw new NotImplementedException();
//        }


//        public PodcastCollection SearchPodcasts(string searchTerm)
//        {
//            throw new NotImplementedException();
//        }

//        public EpisodeCollection SearchEpisodes(string podcastGuid, string searchTerm)
//        {
//            throw new NotImplementedException();
//        }

//        public EpisodeCollection SearchEpisodes(string searchTerm)
//        {
//            throw new NotImplementedException();
//        }


//        public DownloadableCollection LoadEpisodesForDownload(IEnumerable<string> guids)
//        {
//            throw new NotImplementedException();
//        }


//        public void ExportSubscriptions(System.IO.TextWriter writer)
//        {
//            throw new NotImplementedException();
//        }


//        public void CreateFeed(Uri uri, string suggestedName, string content)
//        {
//            throw new NotImplementedException();
//        }


//        public TransferableCollection TransferrableContent
//        {
//            get { throw new NotImplementedException(); }
//        }


//        public void UpdateEpisodes(IEnumerable<string> ids, EpisodeLifecycle stage)
//        {
//            throw new NotImplementedException();
//        }


//        public Episode LoadEpisode(string id)
//        {
//            throw new NotImplementedException();
//        }

//        public void UpdateEpisode(Episode e)
//        {
//            throw new NotImplementedException();
//        }

//        public void UpdatePodcast(Podcast existingPodcast)
//        {
//            throw new NotImplementedException();
//        }

//        public void RenamePodcast(Podcast existingPodcast, string newName)
//        {
//            throw new NotImplementedException();
//        }


//        event EventHandler<IO.RemovableDriveEventArgs> IPodcatcherModel.PortableMediaArrived
//        {
//            add { throw new NotImplementedException(); }
//            remove { throw new NotImplementedException(); }
//        }

//        event EventHandler<IO.RemovableDriveEventArgs> IPodcatcherModel.PortableMediaRemoved
//        {
//            add { throw new NotImplementedException(); }
//            remove { throw new NotImplementedException(); }
//        }


//        public void RebaseReputations()
//        {
//            throw new NotImplementedException();
//        }
//    }
//}
